Data retrieval involves searching over a collection of objects to find a particular object or set of objects. The process of searching involves ranking objects in the collection with respect to a query to yield a list of relevant objects. Objects are digital data. Objects in a collection typically have a unique identifier. An ordering of relevant objects is computed to create a list of search results. The most relevant objects in the search results list are listed first. The ranking of objects on the search result list is based upon the relative match of the query to the digital data. Data retrieval may involve searching over a collection of objects in a database and returning a set of objects that match a query exactly based upon attributes and relationships between objects. Objects may be in a media format other than text, such as audio, video, or image. Time-varying media such as audio and video have a time duration. If the field is information retrieval, objects are typically documents stored in files containing information and the query takes the form of key words (“keywords”) or phrases entered by users. The query keywords are typically matched against the words in the document file.
One common form of organization for objects in an ordered set. A set may be partially or totally ordered. Objects within a set may be sorted using a comparison function. A comparison function may sort objects along a particular scale. Data retrieval systems may filter objects from the search results into subsets of objects. Data retrieval systems may sort objects from the search results list alphabetically by title, numerically by date, or by using any other ordering.
The present invention applies to data retrieval. We require that objects are ranked, but the ranking could be based upon the object's digital data or metadata associated with the object and contained in a metadata description. A metadata description is typically stored in a metadata file. Metadata is data that is typically associated a particular object in the collection, which could be entered manually by a human editor or computed automatically. The metadata file may include one or more categories. Categories may group objects by topic, discipline, concept, or other affinity, often according to an agreed upon taxonomy or classification system. Human editors or automated computer programs may classify objects into categories. The metadata file may be stored in a database. Metadata includes metadata elements (also called properties or attributes) and their values. Metadata may describe the content, quality, condition, type, format, duration, level of detail, level of complexity, level of interactivity, role, human language, geographical coverage, cultural aspects, version, level of interactivity, density, and use of data. Metadata values may be ordinal, numeric, or other data types. Metadata values may be selected from a finite vocabulary. Metadata values may have a preferred or natural order.
Data retrieval systems may organize objects by category and use categories to improve the display and access to objects. Objects may be classified into one or more categories. A category contains zero or more objects. Objects may be rank ordered within categories. Data retrieval systems may include categories related to one another in a graph and organize objects by the graph or use the graph to improve the display and access to objects. A graph is comprised of nodes (also called vertices) and edges. A graph is either directed or undirected. A path in a graph is a sequence of edges connecting nodes in a directed graph. A path data structure may include the nodes connected by edges comprising the path. A graph may be connected or unconnected. A graph of categories and relationships may be called a semantic network, topic graph, or metathesaurus. Several algorithms exist to automatically classify documents into categories and to find objects by traversing a graph of categories and relationships.
Computer systems storing a collection of objects often require human editors who manually assemble objects from the collection into a set or sets of objects to group, filter, arrange, organize, or list the objects for human users. Human editors may also create new objects and create links from object to another. On the World-Wide Web (Web) network of computer systems, for example, objects are Web resources. Each Web resource is identified by its Uniform Resource Identifier (URI). Web resources that have hyperlinks that are contained in Web resources, also called Web pages, to link to other related Web resources. Human users of the Web are typically also editors who manually create hyperlinks between related Web resources. Finding relevant objects and deciding how to assemble and link these objects to created sets of related objects is a time-consuming and manual process.
Computer systems may organize documents, media, and other documents by accessing the object's metadata description. Time-varying media, for example, may have a metadata description that includes a duration and computer systems displaying time-varying media may sorted by objects by this duration. Computer systems may store the ordered set in a structured data file. For example, computer systems may store an ordered set of links to other files in a file in a structured data file format, such as XML, providing data elements in a hierarchical structure.
There are many computer applications requiring structured data files with links to other data files. Computer applications providing means for storing and accessing electronic books, for example, typically organize files containing parts of the book into a table of contents file having links to part of the book to provide for easy access to each part and forming a coherent set that has a preferred order for reading.
Learning management, instruction, training, and education systems provide, deliver, or offer courses to users. These systems interact with a user or users to provide instruction or enable learning using documents, media, and other digital objects on a computer or over the Internet to a user accessing a Web browser program on a computer. These systems may also be called Electronic learning (e-learning) systems. Electronic learning systems often provide a course outline that consists of an organized list or hierarchy of lessons. Electronic learning systems often allow the system or the user to initiate the process of navigating to a given lesson. Lessons are typically listed in a preferred learning order. Lessons are typically linked to the next lesson and previous lesson in the preferred learning order. Electronic learning systems typically store the ordered set of lessons in a structured data file format.
The IMS Global Learning Consortium, Inc. (IMS), has developed the IMS Content Packaging specification for aggregating assembled learning materials into an interoperable, distributable package. The package includes an ordered set of objects in an organization structure that can be stored by an electronic learning system and offered, provided, or delivered to a user or users in the form of a course. The IMS Content Packaging information model specification provides data elements for multiple hierarchical organization structures and multiple item data elements within each organization that have identifiers that are references to Web resources. A default primary organization structure is identified. Each Web resource can be a object with its metadata stored according to a particular schema.
Organizing objects for learning management, training, education, and instruction is usually performed by course developer accessing a document, media, or other application for creating and editing courses. The course developer takes into account the anticipated learning needs of the audience, their level of prior knowledge or skill, the amount of time available, and other factors. The course developer creates new courses by choosing appropriate media and designing appropriate lessons, activities, and other interactions for learners. The process of creating courses is time-consuming and can involve recreating lessons, activities, and other interactions and media resources that may already exist in some form elsewhere.
A collection of resources stored a database or file in the form of learning objects can allow the course developer using an editing application, database application, or other computer application to reuse resources from prior courses, thus reducing the cost of developing new courses. Associating metadata with each resource in the collection can help course developers identify and find learning objects of the appropriate duration, difficulty, resource type, media type, level of detail and other attributes to server a role as a component to assemble a new course. Course developers may identify topic, task, or other types of categories for objects and identify introduction, motivation, or other roles for each object within each category. Categories and roles provide for placement of objects within the organization structure of a course. For example, categories are formed into lessons organized as an ordered set within a course. Learning objects serving a particular role in a category can be formed into modules, units, or other parts within a lesson. Other organization structures are possible.
The Institute for Electronic Engineers, Inc. (IEEE) has formed the Learning Technology Standards Committee (LTSC) to develop accredited technical standards for learning technology. The American National Standards Institute (ANSI) approved a standard data model for Learning Object Metadata (LOM, 1484.12.1) submitted by LTSC. The LOM standard provides data elements for Learning Resource Type (resource type), Difficulty, Typical Learning Time (duration), technical format (media type), as well as title, description, keywords, and other metadata. An XML format for learning object metadata files enables e-learning systems to exchange learning object metadata between computer systems and applications conforming to the standard. Any object with a learning object metadata file is termed a “learning object”. Learning objects and their associated learning object metadata can be stored in a repository. A repository is a database or collection of files containing metadata. A repository references local or remote (Web) objects (resources) and metadata. A learning object content repository references both learning objects and learning object metadata. A learning object may be executed as program code in a Web browser providing a duration of execution and for interaction with the user. A learning object may communicate with a learning management system using an agreed upon data communication protocol. Data communicated to a learning management system may be used by the learning management system to select the next learning object a particular order within a course.
Electronic learning systems may provide their users with access to a search feature for finding lessons, media, activities, or other learning objects. Electronic learning systems may allows users to specify a query to find learning objects of an appropriate duration, difficulty, media type, or other metadata stored in the metadata files associated with each learning object. However, learning objects are not typically automatically assembled, organized, and formed into a course in response to a user query.